#ifndef LOGIN_H
#define LOGIN_H

#include <QObject>
#include <QWidget>
#include <QMainWindow>
#include <QPushButton>
#include <QLabel>
#include <QListWidget>
#include <QTreeWidget>
#include <QSlider>
#include <QTimer>
#include <QGridLayout>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QDateTime>
#include <QTabWidget>
#include <QTreeWidgetItem>
#include <QMouseEvent>
#include <QStackedWidget>
#include <QLineEdit>
#include <QMap>
#include <QMessageBox>
class Login : public QWidget
{
    Q_OBJECT
public:
    explicit Login(QWidget *parent = nullptr);
signals:
    // 登录请求信号(传递用户名和密码)
    void loginRequested(const QString &username, const QString &password);
    // 切换到注册界面的信号
    void switchToRegister();
private slots:
    void on_btnLogin_clicked();         // 登录按钮点击事件
    void on_btnToRegister_clicked();    // 前往注册按钮点击事件
public slots:
    // 新增：设置用户名到输入框
    void setUsername(const QString &username);
private:
    void initLoginInterface();          // 初始化登录界面
    bool checkLoginInput();             // 校验登录输入合法性
    // ==================== 登录界面组件 ====================
    QWidget  *m_loginWidget;
    QLabel   *m_labLoginTitle;
    QLabel   *m_labLoginUser;
    QLineEdit *m_edtLoginUser;
    QLabel *m_labLoginPwd;
    QLineEdit *m_edtLoginPwd;
    QPushButton *m_btnLogin;
    QPushButton *m_btnToRegister;
};

#endif // LOGIN_H
